Курс по объектно-ориентированному программированию (ООП PHP). Введение 2018 Разработка веб-приложений с помощью объектно-ориентированного подхода на языке PHP поначалу может сбить с толку тех разработчиков, которые привыкли использовать процедурный подход, но на самом деле ничего сложного в ООП нет. В данном курсе мы рассмотрим теоретические аспекты ООП, а также научимся применять полученные знания на практике. Курс состоит из 17 уроков, в которых мы шаг за шагом изучим основы ООП, которых должно быть достаточно для написания приложений в объектном стиле. Изучив этот курс, Вы будете понимать, что такое объектно-ориентированное программирование, узнаете, что такое классы и объекты, а также поймете разницу между ними. Узнаете о свойствах, методах и константах класса. После прохождения курсы Вы сможете использовать наследование классов для создания удобной и гибкой логики Вашего веб-приложения, создавать разветвленные иерархии классов. Будете уметь переопределять методы и тем самым расширять их функционал, создавать абстрактные классы. Из курса вы узнаете смысл использования интерфейсов и научитесь использовать их там, где это действительно может требоваться, а не использовать интерфейсы ради интерфейсов. Особое внимание в курсе отведено теме автозагрузки классов, что позволит исключить длинные списки подключаемых файлов. Здесь вы узнаете, как о функциях автозагрузки, так и научитесь использовать для этой цели пакетный менеджер Composer. Все это и многое другое вы узнаете из уроков предлагаемого курса по ООП в PHP. Урок 1. Курс по ООП PHP. Класс и объект: От автора: этим уроком мы начинаем курс по изучению объектно-ориентированного программирования (ООП) в PHP. В первом уроке мы рассмотрим необходимый для работы инструментарий (редактор для написания кода и сервер), а также начнем изучение самых основ ООП с понятий класса и объекта. Урок 2. Курс по ООП PHP. Свойства объекта: От автора: продолжаем изучение объектно-ориентированного программирования (ООП) в PHP. Мы уже знаем, что такое класс и что такое объект в объектном программировании. И в этом уроке мы познакомимся с полями класса, которые чаще всего называют свойствами. Свойства – это ни что иное, как переменная, объявленная в классе. О работе со свойствами мы и поговорим в уроке. Урок 3. Курс по ООП PHP. Методы объекта: От автора: продолжаем изучение объектно-ориентированного программирования (ООП) в PHP. В предыдущем уроке мы с вами познакомились со свойствами объектов, которые позволяют сохранять состояние этих самых объектов. Однако, мало хранить состояние, нам нужна возможность производить какие-либо действия с объектами. И здесь нам помогут методы, о которых мы поговорим в этом уроке. Урок 4. Курс по ООП PHP. Методы __construct и __destruct: От автора: продолжаем изучение объектно-ориентированного программирования (ООП) в PHP. В предыдущем уроке мы с вами познакомились с методами объектов, научились создавать и вызывать их. В этом уроке мы познакомимся с уже готовыми методами, которые предлагает нам PHP, — это методы __construct и __destruct. Данные методы относятся к категории магических, поскольку их не нужно вызывать, они сами вызываются при наступлении того или иного события. Урок 5. Курс по ООП PHP. Домашнее задание. Класс для работы с файлом: От автора: продолжаем изучение объектно-ориентированного программирования (ООП) в PHP. Итак, мы с вами уже знаем, что такое класс, объект, свойства и методы. Давайте попробуем закрепить полученные знания, написав простейший класс для работы с файлом. Урок 6. Курс по ООП PHP. Константы класса. Статические свойства и методы: От автора: продолжаем изучение объектно-ориентированного программирования (ООП) в PHP. Данный урок мы посвятим изучению сразу нескольких тем, которые связаны друг с другом – константы класса, статические свойства и методы. В отличие от обычных свойств и методов, указанные выше принадлежат не объекту, а классу. В чем разница мы и узнаем из данного урока. Урок 7. Курс по ООП PHP. Наследование. Часть 1: От автора: продолжаем изучение объектно-ориентированного программирования (ООП) в PHP. Этот и следующий урок мы посвятим одной из ключевых тем объектно-ориентированного программирования – теме наследования. Благодаря реализации наследования мы можем организовать связь классов по принципу родительский-дочерний и добавлять дополнительную функциональность без необходимости дублирования кода. Урок 8. Курс по ООП PHP. Наследование. Часть 2: От автора: Продолжаем изучение объектно-ориентированного программирования (ООП) в PHP. В этом уроке мы продолжим изучение одной из ключевых тем объектно-ориентированного программирования – темы наследования. Благодаря реализации наследования мы можем организовать связь классов по принципу родительский-дочерний и добавлять дополнительную функциональность без необходимости дублирования кода. Урок 9. Курс по ООП PHP. Модификаторы доступа: От автора: продолжаем изучение объектно-ориентированного программирования (ООП) в PHP. В этом уроке мы рассмотрим еще один из ключевых моментов ООП – модификаторы доступа. Благодаря модификатором public, protected и private мы можем определять область видимости свойств, методов и констант. Урок 10. Курс по ООП PHP. Абстрактные классы и интерфейсы: От автора: продолжаем изучение объектно-ориентированного программирования (ООП) в PHP. Этот урок мы отведем для изучения относительно сложных для понимания тем – абстрактных классов и интерфейсов. В отличие от обычных классов, абстрактные классы не предполагают возможности создания объекта и по сути несут лишь описательный смысл возможных объектов. Интерфейсы же и вовсе не предполагают реализации, указывая лишь набор методов, которые должен реализовать класс. Урок 11. Курс по ООП PHP. Интерфейсы и контроль типа: От автора: продолжаем изучение объектно-ориентированного программирования (ООП) в PHP. В данном уроке мы продолжим освещение темы интерфейсов и их практического использования, поскольку у новичков и не только именно данный аспект вызывает недопонимание. Урок 12. Курс по ООП PHP. Автозагрузка и пространства имен: От автора: Продолжаем изучение объектно-ориентированного программирования (ООП) в PHP. В этом уроке мы рассмотрим такие полезные темы, как автозагрузка классов и пространства имен (namespace). Пока что мы учимся и классов у нас не так много, поэтому подключить каждый из них – не сложно. Однако, в реальных проектах у вас могут быть сотни классов, каждый из которых находится в своем файле. Соответственно, мы просто утонем во множестве инструкций require и include. Автоматизировать этот процесс поможет автозагрузка классов и пространства имен, с которыми мы и познакомимся в уроке. Урок 13. Курс по ООП PHP. Composer и автозагрузка: От автора: продолжаем изучение объектно-ориентированного программирования (ООП) в PHP. В прошлом уроке мы с вами рассматривали тему автозагрузки классов и написали соответствующую функцию, которая замечательно справляется со своей работой. Однако, данная функция будет хорошо работать только с нашими классами. Если же мы захотим подключать сторонние библиотеки, то скорее всего, столкнемся с проблемой их подключения. Решить эту проблему поможет пакетный менеджер Composer, с которым мы и поработаем в этом уроке. Урок 14. Курс по ООП PHP. Трейты: От автора: продолжаем изучение объектно-ориентированного программирования (ООП) в PHP. PHP не поддерживает множественного наследования, вследствие чего могут возникнуть ситуации, когда нам все же придется дублировать некоторый код. Однако, на самом деле дублирования можно избежать, воспользовавшись трейтами. В этом уроке мы узнаем, что такое трейты в PHP и как их использовать. Урок 15. Курс по ООП PHP. Позднее статическое связывание: От автора: продолжаем изучение объектно-ориентированного программирования (ООП) в PHP. В этом уроке мы рассмотрим одну из особенностей, которая появилась в PHP 5.3 – позднее статическое связывание. Что это такое и где может быть полезно – вы узнаете из предлагаемого урока. Урок 16. Курс по ООП PHP. Магические методы: От автора: продолжаем изучение объектно-ориентированного программирования (ООП) в PHP. Как вы уже знаете, PHP предлагает ряд магических методов, с двумя из которых вы уже знакомы (__construct и __destruct). Данные методы вызываются при наступлении некоторых событий и без нашего участия. В этом уроке мы познакомимся с еще несколькими магическими методами, в частности с методами __set, __get и __toString. Урок 17. Курс по ООП PHP. Шаблоны проектирования: От автора: продолжаем изучение объектно-ориентированного программирования (ООП) в PHP. При разработке веб-приложений часто приходится решать одни и те же задачи. Для многих из них были найдены универсальные решения, которые и принято называть шаблонами проектирования. Использование шаблонов проектирования в PHP может существенно сэкономить время, помочь выработать общую стратегию построения веб-приложений и упростит процесс создания документации для ваших скриптов. В этом уроке мы с вами рассмотрим тему шаблонов проектирования и познакомимся с одним из них.